home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / Clueless.swf / scripts / org / flintparticles / zones / LineZone.as next >
Encoding:
Text File  |  2011-10-17  |  1.7 KB  |  71 lines

  1. package org.flintparticles.zones
  2. {
  3.    import flash.geom.Point;
  4.    
  5.    public class LineZone implements Zone
  6.    {
  7.        
  8.       
  9.       private var _point1:Point;
  10.       
  11.       private var _length:Point;
  12.       
  13.       private var _point2:Point;
  14.       
  15.       public function LineZone(param1:Point, param2:Point)
  16.       {
  17.          super();
  18.          _point1 = param1;
  19.          _point2 = param2;
  20.          _length = param2.subtract(param1);
  21.       }
  22.       
  23.       public function getArea() : Number
  24.       {
  25.          return _length.length;
  26.       }
  27.       
  28.       public function set point2(param1:Point) : void
  29.       {
  30.          _point2 = param1;
  31.          _length = point2.subtract(point1);
  32.       }
  33.       
  34.       public function set point1(param1:Point) : void
  35.       {
  36.          _point1 = param1;
  37.          _length = point2.subtract(point1);
  38.       }
  39.       
  40.       public function getLocation() : Point
  41.       {
  42.          var _loc1_:Point = null;
  43.          var _loc2_:Number = NaN;
  44.          _loc1_ = _point1.clone();
  45.          _loc2_ = Math.random();
  46.          _loc1_.x += _length.x * _loc2_;
  47.          _loc1_.y += _length.y * _loc2_;
  48.          return _loc1_;
  49.       }
  50.       
  51.       public function get point1() : Point
  52.       {
  53.          return _point1;
  54.       }
  55.       
  56.       public function get point2() : Point
  57.       {
  58.          return _point2;
  59.       }
  60.       
  61.       public function contains(param1:Number, param2:Number) : Boolean
  62.       {
  63.          if((param1 - _point1.x) * _length.y - (param2 - _point1.y) * _length.x != 0)
  64.          {
  65.             return false;
  66.          }
  67.          return (param1 - _point1.x) * (param1 - _point2.x) + (param2 - _point1.y) * (param2 - _point2.y) <= 0;
  68.       }
  69.    }
  70. }
  71.